﻿
Imports System.IO

'reference http://www.rssboard.org/rss-specification

Public Class channel
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "channel")
    End Sub

End Class

Public Class title
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "title")
    End Sub

End Class

Public Class link
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "link")
        text = network.thislevelPathMark
        'set a default value to homepage
    End Sub

End Class

Public Class description
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "description")
    End Sub

End Class

Public Class language
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "language")
    End Sub

End Class

Public Class copyright
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "copyright")
    End Sub
End Class

Public Class managingEditor
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "managingEditor")
    End Sub

End Class

Public Class webMaster
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "webMaster")
    End Sub

End Class

Public Class pubDate
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "pubDate")
    End Sub
End Class

Public Class lastBuildDate
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "lastBuildDate")
    End Sub

End Class

Public Class category
    Inherits rsscontrol

    Protected Overrides Function availableAttribute(ByRef key As String) As Boolean
        Return attributesCollection.domain(key)
    End Function

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "category")
    End Sub
End Class

Public Class generator
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "generator")
    End Sub
End Class

Public Class docs
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "docs")
    End Sub
End Class

Public Class cloud
    Inherits rsscontrol

    Protected Overrides Function availableAttribute(ByRef key As String) As Boolean
        Return attributesCollection.domain(key) _
            OrElse attributesCollection.port(key) _
            OrElse attributesCollection.path(key) _
            OrElse attributesCollection.registerProcedure(key) _
            OrElse attributesCollection.protocol(key)
    End Function

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "cloud")
    End Sub
End Class

Public Class ttl
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "ttl")
    End Sub
End Class

Public Class item
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "item")
    End Sub
End Class

Public Class image
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "image")
    End Sub
End Class

Public Class rating
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "rating")
    End Sub
End Class

Public Class textInput
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "textInput")
    End Sub

End Class

Public Class skipHours
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "skipHours")
    End Sub
End Class

Public Class skipDays
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "skipDays")
    End Sub
End Class

Public Class author
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "author")
    End Sub
End Class

Public Class comments
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "comments")
    End Sub
End Class

Public Class enclosure
    Inherits rsscontrol

    Protected Overrides Function availableAttribute(ByRef key As String) As Boolean
        Return attributesCollection.url(key) _
            OrElse attributesCollection.length(key) _
            OrElse attributesCollection.type(key)
    End Function

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "enclosure")
    End Sub
End Class

Public Class guid
    Inherits rsscontrol

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "guid")
    End Sub
End Class

Public Class source
    Inherits rsscontrol

    Protected Overrides Function availableAttribute(ByRef key As String) As Boolean
        Return attributesCollection.url(key)
    End Function

    Public Sub New(Optional ByVal buff As MemoryStream = Nothing)
        MyBase.New(buff, "source")
    End Sub
End Class
